Pular para o conteúdo principal

4.6.2. Documentação SimHub

https://github.com/SHWotever/SimHub/wiki


🎯 Por que usar o SimHub?

O SimHub é uma ferramenta poderosa para entusiastas e desenvolvedores de simulação automotiva, oferecendo uma integração completa entre software e hardware. Seu principal diferencial é a capacidade de centralizar múltiplas funcionalidades essenciais para a imersão e personalização de simuladores de corrida, eliminando a necessidade de soluções fragmentadas. Com suporte para dashboards em tempo real, feedback tátil, simulação de vento, displays, LEDs e sensores diversos, o SimHub permite que desenvolvedores e usuários avancem rapidamente de protótipos a implementações finais, garantindo compatibilidade com uma vasta gama de jogos e dispositivos.

A flexibilidade do SimHub para integrar-se a microcontroladores (como Arduino) via firmware customizável, e sua interface amigável para configuração e teste, tornam-no uma escolha técnica ideal para quem busca confiabilidade, personalização e desempenho no desenvolvimento de experiências de simulação. Além disso, sua base open-source oferece a liberdade de adaptar o sistema às necessidades específicas do projeto, seja para exibir dados críticos em OLEDs ou implementar feedback háptico de alta precisão.


🎮 Compatibilidade com Jogos

O SimHub é compatível com diversos jogos de corrida, como Assetto Corsa, iRacing, F1, Forza, entre outros. Jogos de console que suportam telemetria via UDP, como Forza Motorsport 7 e F1, podem ser configurados substituindo o 127.0.0.1 pelo IP do seu computador e ajustando o firewall.


🧩 Integração com Arduino

Passos para integração:

  1. Configuração da Placa: Use a ferramenta do SimHub para selecionar módulos e gerar o firmware.
  2. Upload do Firmware: Envie o firmware pela IDE do Arduino.
  3. Adição no SimHub: Configure os parâmetros (PID/VID) para reconhecimento automático da porta serial.

📊 Dash Studio

Ferramenta do SimHub para criar dashboards personalizados.

  • Criar dashboards
  • Adicionar widgets (velocidade, RPM, marcha)
  • Otimizar desempenho dos dashboards

🌬 Feedback Tátil e Simulação de Vento (ShakeIt)

Permite simular vibrações e vento com motores e ventiladores.

  1. Ativar o plugin ShakeIt
  2. Configurar Arduino com motores/ventiladores
  3. Testar dispositivos

🖥 Informações do Sistema

Exibe uso de CPU, GPU, temperatura e FPS com integração com AIDA64 e HWiNFO.

  1. Habilitar provedores em "System Infos"
  2. Selecionar métricas a monitorar

💡 Dispositivos Suportados

Displays:

  • TM1638, TM1637 (4 e 6 dígitos), MAX7219/MAX7221

LEDs:

  • WS2812B, PL9823
  • Matrizes 8x8: DM163, WS2812B

LCDs:

  • 20x4 / 16x2 LCD
  • OLED SSD1306 0.96"

Entradas:

  • Botões, matriz de botões, encoders rotativos

Feedback Tátil:

  • Motores de vibração
  • Simulação de vento

Medidores:

  • Tacômetro, Boost, Velocímetro, Medidores BMW E36

🧪 Projeto: Display OLED com Dados de RPM e Velocidade

🎯 Objetivo

Exibir em tempo real RPM e velocidade com OLED e Arduino durante uma corrida.

🛠 Materiais

  • Arduino Pro Micro (ou Uno, Nano, etc.)
  • Tela OLED SSD1306 (I2C, 128x64)
  • Cabos jumper
  • SimHub instalado
  • Jogo compatível

🔧 Etapas

  1. Conexões:

    • VCC → 5V / 3.3V
    • GND → GND
    • SDA → Pino 2 (ou A4, 20)
    • SCL → Pino 3 (ou A5, 21)
  2. Configurar no SimHub:

    • Arduino > My Hardware > Show Arduino Setup Tool
    • Selecionar “OLED Display - I2C”
    • Escolher dados (ex: Speed, RPM)
    • Gerar sketch
  3. Carregar Código:

    • Abrir no Arduino IDE
    • Selecionar placa e porta
    • Fazer upload
  4. Testar com o jogo:

    • Abrir jogo (ex: Assetto Corsa)
    • SimHub começa a enviar dados

⚠ Pré-requisitos

  • Instalar biblioteca U8g2 na IDE do Arduino
  • Verificar se o display usa SSD1306 128x64 I2C

🧩 Ligações (referência rápida)

OLED Pin  →  Arduino  →  Função
VCC → 5V → Alimentação
GND → GND → Terra
SDA → 2 → Dados (I2C)
SCL → 3 → Clock (I2C)

🖼 Diagrama ASCII-style e observações

  • Em alguns Arduinos, os pinos SDA/SCL variam.
  • Uno/Nano: A4 (SDA), A5 (SCL)
  • Mega: 20 (SDA), 21 (SCL)

💡 Dicas

  • Verifique tensão de operação do display (3.3V ou 5V)
  • Use scanner I2C se necessário
  • Teste pinos SDA/SCL alternativos

📺 Referência em Vídeo

YouTube: Segunda tela com Dash Studio


🔗 PDF

Baixe o documento aqui


DataEditorDescrição
23/04/2025Jackes FonsecaPrimeira versão do Documento
30/05/2025Artur Rodrigues e Miguel De FriasAdicionando seção de motivo do uso da ferramente